package com.sunfeng.chap1;

import java.nio.ByteBuffer;

public class Test1_2 {
    public static void main(String[] args) {
        ByteBuffer byteBuffer = ByteBuffer.wrap("123456".getBytes());

        byteBuffer.limit(1);
        System.out.println(byteBuffer.limit());
        System.out.println(byteBuffer.capacity());
        // position 是指的下一个要读或者写的位置
        // 剩下的可写空间 remain
        System.out.println(byteBuffer.remaining());    // limit - position
        /**
         * 错误的方法是用  get()操作会使position自增 当我们操作position的时候 remaining 的值将重新计算
         */
        /*for (int i = 0; i <byteBuffer.remaining(); i++) {
            System.out.print((char) byteBuffer.get() + "a");
        }*/
        /**
         * 正确的使用方式
         */
        int remaining = byteBuffer.remaining();
        for (int i = 0; i <remaining; i++) {
            System.out.print((char) byteBuffer.get() + "a");
        }
    }
}
